xref: /freebsd/release/Makefile.mirrors (revision 96265d5ea907d75709f419b01b44c60337ae7fcc)
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
48*96265d5eSMinsoo Choo. endif # arm/riscv
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
6602670776SColin Percival.if !defined(EMBEDDED) || empty(EMBEDDED)
67d0ff67dbSColin Percival.if !defined(NOPKGBASE) || empty(NOPKGBASE)
68d0ff67dbSColin PercivalSTAGE_TARGETS+=		pkgbase-repo-stage
69d0ff67dbSColin PercivalPKGBASE_DIR=		${TLD}/PKGBASE-REPOS/${REVISION}-${BRANCH}/${TARGET_ARCH}
70d0ff67dbSColin Percival.endif
7102670776SColin Percival.endif
72d0ff67dbSColin Percival
7323454946SGlen BarberCLEANFILES+=		${STAGE_TARGETS}
7434187a08SGlen BarberCHECKSUM_FILES?=	SHA512 SHA256
7523454946SGlen BarberSNAP_SUFFIX!=		echo ${_SNAP_SUFFIX:S,^-,,1} | tr -d ' '
7623454946SGlen BarberISO_DIR=		${TLD}/${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}
7723454946SGlen BarberFTP_DIR=		${TLD}/${TARGET}/${TARGET_ARCH}/${REVISION}-${BRANCH}
7823454946SGlen Barber
7999f88888SGlen Barberremove-old-bits:
8099f88888SGlen Barber	rm -rf ${FTPDIR}
8199f88888SGlen Barber
8223454946SGlen Barberiso-images-stage:
8323454946SGlen Barber	mkdir -p ${ISO_DIR}
8423454946SGlen Barber	mkdir -p ${TLD}/ISO-IMAGES/${REVISION}
85b7290132SGlen Barber.if defined(SNAPSHOT) && !empty(SNAPSHOT)
86b7290132SGlen Barber	cd ${RELEASEDIR} && rm -f CHECKSUM.*
8723454946SGlen Barber. for IMAGE in ${IMAGES}
88b7290132SGlen Barber.  if defined(EMBEDDED) && !empty(EMBEDDED)
89b7290132SGlen Barber	cd ${RELEASEDIR} && \
90b7290132SGlen Barber		mv ${OSRELEASE}-${BOARDNAME}.${IMAGE}.xz \
91b7290132SGlen Barber		${OSRELEASE}-${BOARDNAME}-${SNAP_SUFFIX}.${IMAGE}.xz
92b7290132SGlen Barber	cp -p ${RELEASEDIR}/${OSRELEASE}-${BOARDNAME}-${SNAP_SUFFIX}.${IMAGE}.xz \
93b7290132SGlen Barber		${ISO_DIR}/${OSRELEASE}-${BOARDNAME}-${SNAP_SUFFIX}.${IMAGE}.xz
94b7290132SGlen Barber	cd ${TLD}/ISO-IMAGES/${REVISION} && \
95b7290132SGlen Barber		ln -s \
96b7290132SGlen Barber		../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/${OSRELEASE}-${BOARDNAME}-${SNAP_SUFFIX}.${IMAGE}.xz
97b7290132SGlen Barber.  endif # not embedded
98a254b464SGlen Barber.   if exists(${RELEASEDIR}/${OSRELEASE}-${IMAGE})
99b7290132SGlen Barber	cd ${RELEASEDIR} && \
100b7290132SGlen Barber		mv ${OSRELEASE}-${IMAGE} \
101d97ccee1SGlen Barber		${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE}
102b7290132SGlen Barber	cp -p ${RELEASEDIR}/${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE} \
103b7290132SGlen Barber		${ISO_DIR}/${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE}
104b7290132SGlen Barber	cd ${TLD}/ISO-IMAGES/${REVISION} && \
105b7290132SGlen Barber		ln -s \
106b7290132SGlen Barber		../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE}
107b7290132SGlen Barber.   endif
108b7290132SGlen Barber.   if exists(${RELEASEDIR}/${OSRELEASE}-${IMAGE}.xz)
109b7290132SGlen Barber	cd ${RELEASEDIR} && \
110b7290132SGlen Barber		mv ${OSRELEASE}-${IMAGE}.xz \
111d97ccee1SGlen Barber		${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE}.xz
112b7290132SGlen Barber	cp -p ${RELEASEDIR}/${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE}.xz \
113b7290132SGlen Barber		${ISO_DIR}/${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE}.xz
114b7290132SGlen Barber	cd ${TLD}/ISO-IMAGES/${REVISION} && \
115b7290132SGlen Barber		ln -s \
116b7290132SGlen Barber		../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE}.xz
117b7290132SGlen Barber.   endif
118b7290132SGlen Barber. endfor # images loop
119b7290132SGlen Barber	cd ${RELEASEDIR} && rm -f CHECKSUM.*
120b7290132SGlen Barber. for CHECKSUM in ${CHECKSUM_FILES}
121b7290132SGlen Barber.  if defined(EMBEDDED) && !empty(EMBEDDED)
122b7290132SGlen Barber	cd ${RELEASEDIR} && ${CHECKSUM:tl} ${OSRELEASE}* > \
123b7290132SGlen Barber		CHECKSUM.${CHECKSUM}-${OSRELEASE}-${BOARDNAME}-${SNAP_SUFFIX}
124b7290132SGlen Barber	cp -p ${RELEASEDIR}/CHECKSUM.${CHECKSUM}-${OSRELEASE}-${BOARDNAME}-${SNAP_SUFFIX} \
125b7290132SGlen Barber		${ISO_DIR}/CHECKSUM.${CHECKSUM}-${OSRELEASE}-${BOARDNAME}-${SNAP_SUFFIX}
126b7290132SGlen Barber	cd ${TLD}/ISO-IMAGES/${REVISION} && \
127b7290132SGlen Barber		ln -s \
128b7290132SGlen Barber		../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/CHECKSUM.${CHECKSUM}-${OSRELEASE}-${BOARDNAME}-${SNAP_SUFFIX}
129b7290132SGlen Barber.  else # not embedded
130b7290132SGlen Barber	cd ${RELEASEDIR} && ${CHECKSUM:tl} ${OSRELEASE}* > \
131b7290132SGlen Barber		CHECKSUM.${CHECKSUM}-${OSRELEASE}-${SNAP_SUFFIX}
132b7290132SGlen Barber	cp -p ${RELEASEDIR}/CHECKSUM.${CHECKSUM}-${OSRELEASE}-${SNAP_SUFFIX} \
133b7290132SGlen Barber		${ISO_DIR}/CHECKSUM.${CHECKSUM}-${OSRELEASE}-${SNAP_SUFFIX}
134b7290132SGlen Barber	cd ${TLD}/ISO-IMAGES/${REVISION} && \
135b7290132SGlen Barber		ln -s \
136b7290132SGlen Barber		../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/CHECKSUM.${CHECKSUM}-${OSRELEASE}-${SNAP_SUFFIX}
137b7290132SGlen Barber.  endif #
138b7290132SGlen Barber. endfor # checksum files
139b7290132SGlen Barber.else # not snapshot
140b7290132SGlen Barber. for IMAGE in ${IMAGES}
141b7290132SGlen Barber.  if defined(EMBEDDED) && !empty(EMBEDDED)
142b7290132SGlen Barber	cp -p ${RELEASEDIR}/${OSRELEASE}-${BOARDNAME}.${IMAGE}.xz \
143b7290132SGlen Barber		${ISO_DIR}/${OSRELEASE}-${BOARDNAME}.${IMAGE}.xz
144b7290132SGlen Barber	cd ${TLD}/ISO-IMAGES/${REVISION} && \
145b7290132SGlen Barber		ln -s \
146b7290132SGlen Barber		../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/${OSRELEASE}-${BOARDNAME}.${IMAGE}.xz
147b7290132SGlen Barber.  endif # not embedded
148b7290132SGlen Barber.   if exists(${RELEASEDIR}/${OSRELEASE}-${IMAGE})
149b7290132SGlen Barber	cd ${RELEASEDIR} && \
150be59bc7aSGlen Barber	cp -p ${RELEASEDIR}/${OSRELEASE}-${IMAGE} \
151be59bc7aSGlen Barber		${ISO_DIR}/${OSRELEASE}-${IMAGE}
152b7290132SGlen Barber	cd ${TLD}/ISO-IMAGES/${REVISION} && \
153b7290132SGlen Barber		ln -s \
154b7290132SGlen Barber		../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/${OSRELEASE}-${IMAGE}
155a254b464SGlen Barber.   endif
156a254b464SGlen Barber.   if exists(${RELEASEDIR}/${OSRELEASE}-${IMAGE}.xz)
157a3ba37b4SGlen Barber	cp -p ${RELEASEDIR}/${OSRELEASE}-${IMAGE}.xz \
158be59bc7aSGlen Barber		${ISO_DIR}/${OSRELEASE}-${IMAGE}.xz
15923454946SGlen Barber	cd ${TLD}/ISO-IMAGES/${REVISION} && \
16023454946SGlen Barber		ln -s \
161b7290132SGlen Barber		../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/${OSRELEASE}-${IMAGE}.xz
162b7290132SGlen Barber.   endif
163b7290132SGlen Barber. endfor # images loop
164b7290132SGlen Barber	cd ${RELEASEDIR} && rm -f CHECKSUM.*
16523454946SGlen Barber. for CHECKSUM in ${CHECKSUM_FILES}
166a254b464SGlen Barber.  if defined(EMBEDDED) && !empty(EMBEDDED)
167b7290132SGlen Barber	cd ${RELEASEDIR} && ${CHECKSUM:tl} ${OSRELEASE}* > \
168b7290132SGlen Barber		CHECKSUM.${CHECKSUM}-${OSRELEASE}-${BOARDNAME}
169b7290132SGlen Barber	cp -p ${RELEASEDIR}/CHECKSUM.${CHECKSUM}-${OSRELEASE}-${BOARDNAME} \
170b7290132SGlen Barber		${ISO_DIR}/CHECKSUM.${CHECKSUM}-${OSRELEASE}-${BOARDNAME}
171a254b464SGlen Barber	cd ${TLD}/ISO-IMAGES/${REVISION} && \
172a254b464SGlen Barber		ln -s \
173b7290132SGlen Barber		../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/CHECKSUM.${CHECKSUM}-${OSRELEASE}-${BOARDNAME}
174b7290132SGlen Barber.  else # not embedded
175b7290132SGlen Barber	cd ${RELEASEDIR} && ${CHECKSUM:tl} ${OSRELEASE}* > \
1767ee01d2bSGlen Barber		CHECKSUM.${CHECKSUM}-${OSRELEASE}
177b7290132SGlen Barber	cp -p ${RELEASEDIR}/CHECKSUM.${CHECKSUM}-${OSRELEASE} \
178b7290132SGlen Barber		${ISO_DIR}/CHECKSUM.${CHECKSUM}-${OSRELEASE}
179b7290132SGlen Barber	cd ${TLD}/ISO-IMAGES/${REVISION} && \
180b7290132SGlen Barber		ln -s \
181b7290132SGlen Barber		../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/CHECKSUM.${CHECKSUM}-${OSRELEASE}
18223454946SGlen Barber.  endif
183b7290132SGlen Barber. endfor # checksum files
184b7290132SGlen Barber.endif # release
185be59bc7aSGlen Barber.if exists(${RELEASEDIR}/ftp)
18623454946SGlen Barber	mkdir -p ${FTP_DIR}
187b7290132SGlen Barber	cp -p ${RELEASEDIR}/ftp/*.txz ${RELEASEDIR}/ftp/MANIFEST ${FTP_DIR}
188343a7eabSGlen Barber	echo ${BUILDDATE} > ${FTP_DIR}/BUILDDATE
18929b282f3SGlen Barber	echo ${GITBRANCH} > ${FTP_DIR}/GITBRANCH
19029b282f3SGlen Barber	echo ${GITREV} > ${FTP_DIR}/REVISION
19123454946SGlen Barber	cd ${TLD}/${TARGET} && \
19223454946SGlen Barber		ln -s ${TARGET_ARCH}/${REVISION}-${BRANCH} \
19323454946SGlen Barber			${REVISION}-${BRANCH}
19423454946SGlen Barber.endif
19523454946SGlen Barber
19623454946SGlen Barbervm-images-stage:
19757cb4b93SGlen Barber	mkdir -p ${VM_DIR}
19857cb4b93SGlen Barber.if defined(SNAPSHOT) && !empty(SNAPSHOT)
19957cb4b93SGlen Barber. if exists(${VM_DIR}/Latest)
20057cb4b93SGlen Barber	rm -rf ${VM_DIR}/Latest
20157cb4b93SGlen Barber. endif
20257cb4b93SGlen Barber	mkdir -p ${VM_DIR}/Latest
20357cb4b93SGlen Barber	mkdir -p ${VM_DIR}/${BUILDDATE}
20457cb4b93SGlen Barber. for VMFORMAT in ${VMFORMATS}
205f4b08097SColin Percival.  for FS in ${VMFSLIST}
206f4b08097SColin Percival	cd ${RELEASEDIR}/vmimages && \
207f4b08097SColin Percival		mv ${OSRELEASE}-${FS}.${VMFORMAT}.xz \
208f4b08097SColin Percival		${OSRELEASE}-${FS}-${SNAP_SUFFIX}.${VMFORMAT}.xz
209f4b08097SColin Percival	cp -p ${RELEASEDIR}/vmimages/${OSRELEASE}-${FS}-${SNAP_SUFFIX}.${VMFORMAT}.xz \
210f4b08097SColin Percival		${VM_DIR}/${BUILDDATE}/${OSRELEASE}-${FS}-${SNAP_SUFFIX}.${VMFORMAT}.xz
211f4b08097SColin Percival	cd ${VM_DIR}/Latest && \
212f4b08097SColin Percival		ln -s ../${BUILDDATE}/${OSRELEASE}-${FS}-${SNAP_SUFFIX}.${VMFORMAT}.xz \
213f4b08097SColin Percival		${OSRELEASE}-${FS}.${VMFORMAT}.xz
214f4b08097SColin Percival.  endfor
21557cb4b93SGlen Barber. endfor
216836f00ebSColin Percival. if defined(WITH_CLOUDWARE) && !empty(WITH_CLOUDWARE)
2174771c2e9SColin Percival.  for CW in ${CLOUDWARE}
2184771c2e9SColin Percival.   if ${CW} == BASIC-CLOUDINIT
2194771c2e9SColin Percival.    for VMFORMAT in ${${CW}_FORMAT}
2204771c2e9SColin Percival.     for FS in ${${CW}_FSLIST}
2214771c2e9SColin Percival	cd ${RELEASEDIR}/vmimages && \
22235623cccSColin Percival		mv ${OSRELEASE}-${CW}-${FS}.${VMFORMAT}.xz \
22335623cccSColin Percival		${OSRELEASE}-${CW}-${SNAP_SUFFIX}-${FS}.${VMFORMAT}.xz
22435623cccSColin Percival	cp -p ${RELEASEDIR}/vmimages/${OSRELEASE}-${CW}-${SNAP_SUFFIX}-${FS}.${VMFORMAT}.xz \
22535623cccSColin Percival		${VM_DIR}/${BUILDDATE}/${OSRELEASE}-${CW}-${SNAP_SUFFIX}-${FS}.${VMFORMAT}.xz
2264771c2e9SColin Percival	cd ${VM_DIR}/Latest && \
22735623cccSColin Percival		ln -s ../${BUILDDATE}/${OSRELEASE}-${CW}-${SNAP_SUFFIX}-${FS}.${VMFORMAT}.xz \
22835623cccSColin Percival		${OSRELEASE}-${CW}-${FS}.${VMFORMAT}.xz
2294771c2e9SColin Percival.     endfor
2304771c2e9SColin Percival.    endfor
2314771c2e9SColin Percival.   endif
2324771c2e9SColin Percival.  endfor
233836f00ebSColin Percival. endif
23457cb4b93SGlen Barber	cd ${RELEASEDIR}/vmimages && rm -f CHECKSUM.*
23557cb4b93SGlen Barber. for CHECKSUM in ${CHECKSUM_FILES}
23657cb4b93SGlen Barber	cd ${RELEASEDIR}/vmimages && \
23757cb4b93SGlen Barber		${CHECKSUM:tl} ${OSRELEASE}* > CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX}
23857cb4b93SGlen Barber	cp -p ${RELEASEDIR}/vmimages/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} \
23957cb4b93SGlen Barber		${VM_DIR}/${BUILDDATE}/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX}
24057cb4b93SGlen Barber	cd ${VM_DIR}/Latest && \
24157cb4b93SGlen Barber		ln -s ../${BUILDDATE}/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} \
24257cb4b93SGlen Barber		CHECKSUM.${CHECKSUM}
24357cb4b93SGlen Barber. endfor
24457cb4b93SGlen Barber.else # not snapshot
24557cb4b93SGlen Barber. if exists(${VM_DIR}/Latest)
24657cb4b93SGlen Barber	rm -rf ${VM_DIR}/Latest
24757cb4b93SGlen Barber. endif
24857cb4b93SGlen Barber	mkdir -p ${VM_DIR}/Latest
24957cb4b93SGlen Barber. for VMFORMAT in ${VMFORMATS}
250f4b08097SColin Percival.  for FS in ${VMFSLIST}
251f4b08097SColin Percival	cp -p ${RELEASEDIR}/vmimages/${OSRELEASE}-${FS}.${VMFORMAT}.xz \
252f4b08097SColin Percival		${VM_DIR}/Latest/${OSRELEASE}-${FS}.${VMFORMAT}.xz
253f4b08097SColin Percival.  endfor
25457cb4b93SGlen Barber. endfor
255836f00ebSColin Percival. if defined(WITH_CLOUDWARE) && !empty(WITH_CLOUDWARE)
2564771c2e9SColin Percival.  for CW in ${CLOUDWARE}
2574771c2e9SColin Percival.   if ${CW} == BASIC-CLOUDINIT
2584771c2e9SColin Percival.    for VMFORMAT in ${${CW}_FORMAT}
2594771c2e9SColin Percival.     for FS in ${${CW}_FSLIST}
26035623cccSColin Percival	cp -p ${RELEASEDIR}/vmimages/${OSRELEASE}-${CW}-${FS}.${VMFORMAT}.xz \
26135623cccSColin Percival		${VM_DIR}/Latest/${OSRELEASE}-${CW}-${FS}.${VMFORMAT}.xz
2624771c2e9SColin Percival.     endfor
2634771c2e9SColin Percival.    endfor
2644771c2e9SColin Percival.   endif
2654771c2e9SColin Percival.  endfor
266836f00ebSColin Percival. endif
26757cb4b93SGlen Barber. for CHECKSUM in ${CHECKSUM_FILES}
26857cb4b93SGlen Barber	cp -p ${RELEASEDIR}/vmimages/CHECKSUM.${CHECKSUM} \
26957cb4b93SGlen Barber		${VM_DIR}/Latest/CHECKSUM.${CHECKSUM}
27057cb4b93SGlen Barber. endfor
27157cb4b93SGlen Barber.endif
27223454946SGlen Barber
2734771c2e9SColin Percivalci-images-stage:
2744771c2e9SColin Percival	mkdir -p ${CI_DIR}
2754771c2e9SColin Percival.if defined(SNAPSHOT) && !empty(SNAPSHOT)
2764771c2e9SColin Percival. if exists(${CI_DIR}/Latest)
2774771c2e9SColin Percival	rm -rf ${CI_DIR}/Latest
2784771c2e9SColin Percival. endif
2794771c2e9SColin Percival	mkdir -p ${CI_DIR}/Latest
2804771c2e9SColin Percival	mkdir -p ${CI_DIR}/${BUILDDATE}
2814771c2e9SColin Percival. for CW in ${CLOUDWARE}
2824771c2e9SColin Percival.  if ${CW} == BASIC-CI
2834771c2e9SColin Percival.   for VMFORMAT in ${${CW}_FORMAT}
2844771c2e9SColin Percival.    for FS in ${${CW}_FSLIST}
2854771c2e9SColin Percival	cd ${RELEASEDIR}/ciimages && \
2864771c2e9SColin Percival		mv ${OSRELEASE}-${CW}-${FS}.${VMFORMAT}.xz \
28735623cccSColin Percival		${OSRELEASE}-${CW}-${SNAP_SUFFIX}-${FS}.${VMFORMAT}.xz
28835623cccSColin Percival	cp -p ${RELEASEDIR}/ciimages/${OSRELEASE}-${CW}-${SNAP_SUFFIX}-${FS}.${VMFORMAT}.xz \
28935623cccSColin Percival		${CI_DIR}/${BUILDDATE}/${OSRELEASE}-${CW}-${SNAP_SUFFIX}-${FS}.${VMFORMAT}.xz
2904771c2e9SColin Percival	cd ${CI_DIR}/Latest && \
29135623cccSColin Percival		ln -s ../${BUILDDATE}/${OSRELEASE}-${CW}-${SNAP_SUFFIX}-${FS}.${VMFORMAT}.xz \
29235623cccSColin Percival		${OSRELEASE}-${CW}-${FS}.${VMFORMAT}.xz
2934771c2e9SColin Percival.    endfor
2944771c2e9SColin Percival.   endfor
2954771c2e9SColin Percival.  endif
2964771c2e9SColin Percival. endfor
2974771c2e9SColin Percival	cd ${RELEASEDIR}/ciimages && rm -f CHECKSUM.*
2984771c2e9SColin Percival. for CHECKSUM in ${CHECKSUM_FILES}
2994771c2e9SColin Percival	cd ${RELEASEDIR}/ciimages && \
3004771c2e9SColin Percival		${CHECKSUM:tl} ${OSRELEASE}* > CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX}
3014771c2e9SColin Percival	cp -p ${RELEASEDIR}/ciimages/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} \
3024771c2e9SColin Percival		${CI_DIR}/${BUILDDATE}/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX}
3034771c2e9SColin Percival	cd ${CI_DIR}/Latest && \
3044771c2e9SColin Percival		ln -s ../${BUILDDATE}/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} \
3054771c2e9SColin Percival		CHECKSUM.${CHECKSUM}
3064771c2e9SColin Percival. endfor
3074771c2e9SColin Percival.else # not snapshot
3084771c2e9SColin Percival. if exists(${CI_DIR}/Latest)
3094771c2e9SColin Percival	rm -rf ${CI_DIR}/Latest
3104771c2e9SColin Percival. endif
3114771c2e9SColin Percival	mkdir -p ${CI_DIR}/Latest
3124771c2e9SColin Percival. for CW in ${CLOUDWARE}
3134771c2e9SColin Percival.  if ${CW} == BASIC-CI
3144771c2e9SColin Percival.   for VMFORMAT in ${${CW}_FORMAT}
3154771c2e9SColin Percival.    for FS in ${${CW}_FSLIST}
3164771c2e9SColin Percival	cp -p ${RELEASEDIR}/ciimages/${OSRELEASE}-${CW}-${FS}.${VMFORMAT}.xz \
31735623cccSColin Percival		${CI_DIR}/Latest/${OSRELEASE}-${CW}-${FS}.${VMFORMAT}.xz
3184771c2e9SColin Percival.    endfor
3194771c2e9SColin Percival.   endfor
3204771c2e9SColin Percival.  endif
3214771c2e9SColin Percival. endfor
3224771c2e9SColin Percival. for CHECKSUM in ${CHECKSUM_FILES}
3234771c2e9SColin Percival	cp -p ${RELEASEDIR}/ciimages/CHECKSUM.${CHECKSUM} \
3244771c2e9SColin Percival		${CI_DIR}/Latest/CHECKSUM.${CHECKSUM}
3254771c2e9SColin Percival. endfor
3264771c2e9SColin Percival.endif
3274771c2e9SColin Percival
328e95e3e6eSColin Percivaloci-images-stage:
329e95e3e6eSColin Percival	mkdir -p ${OCI_DIR}
330e95e3e6eSColin Percival.if defined(SNAPSHOT) && !empty(SNAPSHOT)
331e95e3e6eSColin Percival. if exists(${OCI_DIR}/Latest)
332e95e3e6eSColin Percival	rm -rf ${OCI_DIR}/Latest
333e95e3e6eSColin Percival. endif
334e95e3e6eSColin Percival	mkdir -p ${OCI_DIR}/Latest
335e95e3e6eSColin Percival	mkdir -p ${OCI_DIR}/${BUILDDATE}
336e95e3e6eSColin Percival. for _IMG in ${OCI_IMAGES}
337e95e3e6eSColin Percival	cd ${RELEASEDIR}/ociimages && \
338e95e3e6eSColin Percival		mv container-image-${_IMG}.txz \
339e95e3e6eSColin Percival		${OSRELEASE}-container-image-${SNAP_SUFFIX}-${_IMG}.txz
340e95e3e6eSColin Percival	cp ${RELEASEDIR}/ociimages/${OSRELEASE}-container-image-${SNAP_SUFFIX}-${_IMG}.txz \
341e95e3e6eSColin Percival		${OCI_DIR}/${BUILDDATE}/${OSRELEASE}-container-image-${SNAP_SUFFIX}-${_IMG}.txz
342e95e3e6eSColin Percival	cd ${OCI_DIR}/Latest && \
343e95e3e6eSColin Percival		ln -s ../${BUILDDATE}/${OSRELEASE}-container-image-${SNAP_SUFFIX}-${_IMG}.txz \
344e95e3e6eSColin Percival		${OSRELEASE}-container-image-${_IMG}.txz
345e95e3e6eSColin Percival. endfor
346e95e3e6eSColin Percival	cd ${RELEASEDIR}/ociimages && rm -f CHECKSUM.*
347e95e3e6eSColin Percival. for CHECKSUM in ${CHECKSUM_FILES}
348e95e3e6eSColin Percival	cd ${RELEASEDIR}/ociimages && \
349e95e3e6eSColin Percival		${CHECKSUM:tl} ${OSRELEASE}* > CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX}
350e95e3e6eSColin Percival	cp -p ${RELEASEDIR}/ociimages/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} \
351e95e3e6eSColin Percival		${OCI_DIR}/${BUILDDATE}/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX}
352e95e3e6eSColin Percival	cd ${OCI_DIR}/Latest && \
353e95e3e6eSColin Percival		ln -s ../${BUILDDATE}/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} \
354e95e3e6eSColin Percival		CHECKSUM.${CHECKSUM}
355e95e3e6eSColin Percival. endfor
356e95e3e6eSColin Percival.else # not snapshot
357e95e3e6eSColin Percival. if exists(${OCI_DIR}/Latest)
358e95e3e6eSColin Percival	rm -rf ${OCI_DIR}/Latest
359e95e3e6eSColin Percival. endif
360e95e3e6eSColin Percival	mkdir -p ${OCI_DIR}/Latest
361e95e3e6eSColin Percival. for _IMG in ${OCI_IMAGES}
362e95e3e6eSColin Percival	cd ${RELEASEDIR}/ociimages && \
363e95e3e6eSColin Percival		mv container-image-${_IMG}.txz \
364e95e3e6eSColin Percival		${OSRELEASE}-container-image-${_IMG}.txz
365e95e3e6eSColin Percival	cp ${RELEASEDIR}/ociimages/${OSRELEASE}-container-image-${_IMG}.txz \
366e95e3e6eSColin Percival		${OCI_DIR}/Latest/${OSRELEASE}-container-image-${_IMG}.txz
367e95e3e6eSColin Percival. endfor
368e95e3e6eSColin Percival. for CHECKSUM in ${CHECKSUM_FILES}
369e95e3e6eSColin Percival	cd ${RELEASEDIR}/ociimages && \
370d54fdd16SColin Percival		${CHECKSUM:tl} ${OSRELEASE}* > CHECKSUM.${CHECKSUM}
371d54fdd16SColin Percival	cp -p ${RELEASEDIR}/ociimages/CHECKSUM.${CHECKSUM} \
372e95e3e6eSColin Percival		${OCI_DIR}/Latest/CHECKSUM.${CHECKSUM}
373e95e3e6eSColin Percival. endfor
374e95e3e6eSColin Percival.endif
375e95e3e6eSColin Percival
376d0ff67dbSColin Percivalpkgbase-repo-stage:
377d0ff67dbSColin Percival	mkdir -p ${PKGBASE_DIR}
378d0ff67dbSColin Percival.if defined(SNAPSHOT) && !empty(SNAPSHOT)
379d0ff67dbSColin Percival. if exists(${PKGBASE_DIR}/Latest)
380d0ff67dbSColin Percival	rm -rf ${PKGBASE_DIR}/Latest
381d0ff67dbSColin Percival. endif
382d0ff67dbSColin Percival	mkdir -p ${PKGBASE_DIR}/Latest
383d0ff67dbSColin Percival	mkdir -p ${PKGBASE_DIR}/${BUILDDATE}
384d0ff67dbSColin Percival	cd ${RELEASEDIR}/pkgbase && \
385c943e6ffSColin Percival		mv pkgbase-repo.tar ${OSRELEASE}-pkgbase-repo-${SNAP_SUFFIX}.tar
386c943e6ffSColin Percival	cp -p ${RELEASEDIR}/pkgbase/${OSRELEASE}-pkgbase-repo-${SNAP_SUFFIX}.tar \
387c943e6ffSColin Percival		${PKGBASE_DIR}/${BUILDDATE}/${OSRELEASE}-pkgbase-repo-${SNAP_SUFFIX}.tar
388d0ff67dbSColin Percival	cd ${PKGBASE_DIR}/Latest && \
389c943e6ffSColin Percival		ln -s ../${BUILDDATE}/${OSRELEASE}-pkgbase-repo-${SNAP_SUFFIX}.tar \
390c943e6ffSColin Percival		${OSRELEASE}-pkgbase-repo.tar
391d0ff67dbSColin Percival	cd ${RELEASEDIR}/pkgbase && rm -f CHECKSUM.*
392d0ff67dbSColin Percival. for CHECKSUM in ${CHECKSUM_FILES}
393d0ff67dbSColin Percival	cd ${RELEASEDIR}/pkgbase && \
394c943e6ffSColin Percival		${CHECKSUM:tl} ${OSRELEASE}-pkgbase-repo-*.tar > CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX}
395d0ff67dbSColin Percival	cp -p ${RELEASEDIR}/pkgbase/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} \
396d0ff67dbSColin Percival		${PKGBASE_DIR}/${BUILDDATE}/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX}
397d0ff67dbSColin Percival	cd ${PKGBASE_DIR}/Latest && \
398d0ff67dbSColin Percival		ln -s ../${BUILDDATE}/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} \
399d0ff67dbSColin Percival		CHECKSUM.${CHECKSUM}
400d0ff67dbSColin Percival. endfor
401d0ff67dbSColin Percival.else # not snapshot
402d0ff67dbSColin Percival. if exists(${PKGBASE_DIR}/Latest)
403d0ff67dbSColin Percival	rm -rf ${PKGBASE_DIR}/Latest
404d0ff67dbSColin Percival. endif
405d0ff67dbSColin Percival	mkdir -p ${PKGBASE_DIR}/Latest
406c943e6ffSColin Percival	cd ${RELEASEDIR}/pkgbase && \
407c943e6ffSColin Percival		mv pkgbase-repo.tar ${OSRELEASE}-pkgbase-repo.tar
408c943e6ffSColin Percival	cp -p ${RELEASEDIR}/pkgbase/${OSRELEASE}-pkgbase-repo.tar \
409c943e6ffSColin Percival		${PKGBASE_DIR}/Latest/${OSRELEASE}-pkgbase-repo.tar
410d0ff67dbSColin Percival. for CHECKSUM in ${CHECKSUM_FILES}
411c943e6ffSColin Percival	cd ${RELEASEDIR}/pkgbase && \
412c943e6ffSColin Percival		${CHECKSUM:tl} ${OSRELEASE}-pkgbase-repo.tar > CHECKSUM.${CHECKSUM}
413d0ff67dbSColin Percival	cp -p ${RELEASEDIR}/pkgbase/CHECKSUM.${CHECKSUM} \
414d0ff67dbSColin Percival		${PKGBASE_DIR}/Latest/CHECKSUM.${CHECKSUM}
415d0ff67dbSColin Percival. endfor
416d0ff67dbSColin Percival.endif
417d0ff67dbSColin Percival
41899f88888SGlen Barberftp-stage:	remove-old-bits ${STAGE_TARGETS}
41923454946SGlen Barber
420