svn commit: r283545 - stable/10/release
Glen Barber
gjb at FreeBSD.org
Mon May 25 22:12:31 UTC 2015
Author: gjb
Date: Mon May 25 22:12:30 2015
New Revision: 283545
URL: https://svnweb.freebsd.org/changeset/base/283545
Log:
MFC r282785, r282787, r282789, r282790, r282791, r282792, r282793,
r282794, r282795, r282796, r282797, r282798, r282799, r283265,
r283266, r283268, r283271, r283272, r283298, r283302:
Add a new file, Makefile.mirrors, which is intended to replace
a 474-line kludge of a shell script to pre-create the directory
hierarchy on ftp-master.
This is not in any way connected to the build, and there is no
intention to do so. This only intent here is to try to make
things a little bit easier.
Always use the 'make install' directory as the source for images.
For RE purposes, we use the default (/R within the chroot), so
this helps avoid copying files multiple times and xz(1)-compressing
additional times when not needed.
Fix staging virtual machine images for ftp propagation.
This Makefile is not for general consumption.
Sponsored by: The FreeBSD Foundation
Added:
stable/10/release/Makefile.mirrors
- copied, changed from r282785, head/release/Makefile.mirrors
Modified:
Directory Properties:
stable/10/ (props changed)
Copied and modified: stable/10/release/Makefile.mirrors (from r282785, head/release/Makefile.mirrors)
==============================================================================
--- head/release/Makefile.mirrors Mon May 11 22:14:03 2015 (r282785, copy source)
+++ stable/10/release/Makefile.mirrors Mon May 25 22:12:30 2015 (r283545)
@@ -5,27 +5,29 @@
# You probably do not want to use this. Really.
# You have been warned.
#
+# Seriously.
+#
+# Don't use this unless you know why you're using it.
+#
# $FreeBSD$
#
.include "${.CURDIR}/Makefile"
-FTPDIR?= /ftp
+RELEASEDIR?= /R
+FTPDIR?= ${RELEASEDIR}/ftp-stage
STAGE_TARGETS?= iso-images-stage
+.if (defined(EMBEDDED_TARGET) && !empty(EMBEDDED_TARGET)) || (defined(EMBEDDEDBUILD) && !empty(EMBEDDEDBUILD))
+. if ${TARGET} == "arm" || ${EMBEDDED_TARGET} == "arm"
+EMBEDDED= 1
+. endif
+.endif
+
# snapshot
.if ${BRANCH} == "STABLE" || ${BRANCH} == "CURRENT"
SNAPSHOT= 1
TLD?= ${FTPDIR}/snapshots
-BUILDDATE!= date -j -f '%s' $$(stat -f "%c" ${.OBJDIR}/dist/base/bin/sh) +%Y%m%d
-. if ${TARGET} == "arm" && ${TARGET_ARCH} == "armv6"
-. if !defined(BOARDNAME) || empty(BOARDNAME)
-BOARDNAME= ${KERNCONF}
-. endif
-_SNAP_SUFFIX:= -${BOARDNAME}-${BUILDDATE}
-. else # not arm/armv6
-_SNAP_SUFFIX:= -${BUILDDATE}
-. endif
. for _D in /usr/bin /usr/local/bin
. for _S in svnversion svnliteversion
. if exists(${_D}/${_S})
@@ -33,9 +35,16 @@ SVNVERSION?= ${_D}/${_S}
. endif
. endfor
. endfor
+. if exists(${.CURDIR}/${.OBJDIR}/dist/base/bin/sh)
+BUILDDATE!= cd ${.CURDIR} && date -j -f '%s' $$(stat -f "%c" ${.OBJDIR}/dist/base/bin/sh) +%Y%m%d
+. else
+BUILDDATE!= date +%Y%m%d
+. endif
. if exists(${SVNVERSION}) && !empty(SVNVERSION)
SVNREVISION!= ${SVNVERSION} ${WORLDDIR}/Makefile
-_SNAP_SUFFIX:= ${_SNAP_SUFFIX}-r${SVNREVISION}
+_SNAP_SUFFIX:= -r${SVNREVISION}-${BUILDDATE}
+. else
+_SNAP_SUFFIX:= -${BUILDDATE}
. endif
.else
# release
@@ -43,6 +52,20 @@ SNAPSHOT=
TLD?= ${FTPDIR}/releases
.endif
+.if defined(EMBEDDED) && !empty(EMBEDDED)
+. if ${TARGET} == "arm" && ${TARGET_ARCH} == "armv6"
+. if !defined(BOARDNAME) && empty(BOARDNAME)
+BOARDNAME:= ${KERNCONF}
+. else
+OLDNAME:= ${KERNCONF}
+. endif
+. if ${BRANCH} == "STABLE" || ${BRANCH} == "CURRENT"
+SNAPSHOT= 1
+. endif
+IMAGES:= img
+. endif # arm/armv6
+.endif # embedded
+
.if defined(WITH_VMIMAGES) && !empty(WITH_VMIMAGES)
STAGE_TARGETS+= vm-images-stage
VM_DIR= ${TLD}/VM-IMAGES/${REVISION}-${BRANCH}/${TARGET_ARCH}
@@ -54,75 +77,177 @@ SNAP_SUFFIX!= echo ${_SNAP_SUFFIX:S,^-,
ISO_DIR= ${TLD}/${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}
FTP_DIR= ${TLD}/${TARGET}/${TARGET_ARCH}/${REVISION}-${BRANCH}
+remove-old-bits:
+ rm -rf ${FTPDIR}
+
iso-images-stage:
mkdir -p ${ISO_DIR}
mkdir -p ${TLD}/ISO-IMAGES/${REVISION}
-.for IMAGE in ${IMAGES}
- cp -p ${.OBJDIR}/${IMAGE} ${ISO_DIR}/${OSRELEASE}-${IMAGE}
-. if exists(/R/${IMAGE}.xz)
- cp -p ${.OBJDIR}/${IMAGE}.xz ${ISO_DIR}/${OSRELEASE}-${IMAGE}.xz
-. endif
-.endfor
-.if defined(SNAPSHOT) && !empty(SNAPSHOT)
-. for IMAGE in ${IMAGES}
- cd ${ISO_DIR} && mv ${OSRELEASE}-${IMAGE} \
- ${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE}
+.if exists(${RELEASEDIR})
+ @# Assume we have images to copy.
+. if defined(SNAPSHOT) && !empty(SNAPSHOT)
+ cd ${RELEASEDIR} && rm -f CHECKSUM.*
+. for IMAGE in ${IMAGES}
+. if defined(EMBEDDED) && !empty(EMBEDDED)
+. if defined(OLDNAME) && !empty(OLDNAME)
+ @# arm/armv6 IMX6 -> WANDBOARD, for example.
+ cd ${RELEASEDIR} && \
+ mv ${OSRELEASE}-${OLDNAME}.${IMAGE}.xz \
+ ${OSRELEASE}-${BOARDNAME}.${IMAGE}.xz
+. endif
+ cd ${RELEASEDIR} && \
+ mv ${OSRELEASE}-${BOARDNAME}.${IMAGE}.xz \
+ ${OSRELEASE}-${BOARDNAME}-${SNAP_SUFFIX}.${IMAGE}.xz
+ cp -p ${RELEASEDIR}/${OSRELEASE}-${BOARDNAME}-${SNAP_SUFFIX}.${IMAGE}.xz \
+ ${ISO_DIR}/${OSRELEASE}-${BOARDNAME}-${SNAP_SUFFIX}.${IMAGE}.xz
cd ${TLD}/ISO-IMAGES/${REVISION} && \
ln -s \
- ../../${TARGET}/${TARGET_ARCH}/${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE}
-. endfor
-. for CHECKSUM in ${CHECKSUM_FILES}
-. if exists(${ISO_DIR}/CHECKSUM.${CHECKSUM})
- rm -f ${ISO_DIR}/CHECKSUM.${CHECKSUM}
-. endif
- cd ${ISO_DIR} && ${CHECKSUM:tl} ${OSRELEASE}* > \
- CHECKSUM.${CHECKSUM}-${REVISION}-${BRANCH}-${SNAP_SUFFIX}
-. endfor
-.else # !snapshot
- cd ${TLD}/ISO-IMAGES/${REVISION} && ln -s \
- ../../${TARGET}/${TARGET_ARCH}/${OSRELEASE}-${IMAGE} .
- cd ${ISO_DIR} && ${CHECKSUM:tl} ${OSRELEASE}* > \
- CHECKSUM.${CHECKSUM}-${REVISION}-${BRANCH}-${SNAP_SUFFIX}
-.endif
-.if exists(${.OBJDIR}/ftp)
+ ../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/${OSRELEASE}-${BOARDNAME}-${SNAP_SUFFIX}.${IMAGE}.xz
+. endif # not embedded
+. if exists(${RELEASEDIR}/${OSRELEASE}-${IMAGE})
+ cd ${RELEASEDIR} && \
+ mv ${OSRELEASE}-${IMAGE} \
+ ${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE} || true
+ cp -p ${RELEASEDIR}/${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE} \
+ ${ISO_DIR}/${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE}
+ cd ${TLD}/ISO-IMAGES/${REVISION} && \
+ ln -s \
+ ../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE}
+. endif
+. if exists(${RELEASEDIR}/${OSRELEASE}-${IMAGE}.xz)
+ cd ${RELEASEDIR} && \
+ mv ${OSRELEASE}-${IMAGE}.xz \
+ ${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE}.xz || true
+ cp -p ${RELEASEDIR}/${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE}.xz \
+ ${ISO_DIR}/${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE}.xz
+ cd ${TLD}/ISO-IMAGES/${REVISION} && \
+ ln -s \
+ ../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE}.xz
+. endif
+. endfor # images loop
+ cd ${RELEASEDIR} && rm -f CHECKSUM.*
+. for CHECKSUM in ${CHECKSUM_FILES}
+. if defined(EMBEDDED) && !empty(EMBEDDED)
+ cd ${RELEASEDIR} && ${CHECKSUM:tl} ${OSRELEASE}* > \
+ CHECKSUM.${CHECKSUM}-${OSRELEASE}-${BOARDNAME}-${SNAP_SUFFIX}
+ cp -p ${RELEASEDIR}/CHECKSUM.${CHECKSUM}-${OSRELEASE}-${BOARDNAME}-${SNAP_SUFFIX} \
+ ${ISO_DIR}/CHECKSUM.${CHECKSUM}-${OSRELEASE}-${BOARDNAME}-${SNAP_SUFFIX}
+ cd ${TLD}/ISO-IMAGES/${REVISION} && \
+ ln -s \
+ ../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/CHECKSUM.${CHECKSUM}-${OSRELEASE}-${BOARDNAME}-${SNAP_SUFFIX}
+. else # not embedded
+ cd ${RELEASEDIR} && ${CHECKSUM:tl} ${OSRELEASE}* > \
+ CHECKSUM.${CHECKSUM}-${OSRELEASE}-${SNAP_SUFFIX}
+ cp -p ${RELEASEDIR}/CHECKSUM.${CHECKSUM}-${OSRELEASE}-${SNAP_SUFFIX} \
+ ${ISO_DIR}/CHECKSUM.${CHECKSUM}-${OSRELEASE}-${SNAP_SUFFIX}
+ cd ${TLD}/ISO-IMAGES/${REVISION} && \
+ ln -s \
+ ../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/CHECKSUM.${CHECKSUM}-${OSRELEASE}-${SNAP_SUFFIX}
+. endif #
+. endfor # checksum files
+. else # not snapshot
+. for IMAGE in ${IMAGES}
+. if defined(EMBEDDED) && !empty(EMBEDDED)
+. if defined(OLDNAME) && !empty(OLDNAME)
+ @# arm/armv6 IMX6 -> WANDBOARD, for example.
+ cd ${RELEASEDIR} && \
+ mv ${OSRELEASE}-${OLDNAME}.${IMAGE}.xz \
+ ${OSRELEASE}-${BOARDNAME}.${IMAGE}.xz
+. endif
+ cp -p ${RELEASEDIR}/${OSRELEASE}-${BOARDNAME}.${IMAGE}.xz \
+ ${ISO_DIR}/${OSRELEASE}-${BOARDNAME}.${IMAGE}.xz
+ cd ${TLD}/ISO-IMAGES/${REVISION} && \
+ ln -s \
+ ../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/${OSRELEASE}-${BOARDNAME}.${IMAGE}.xz
+. endif # not embedded
+. if exists(${RELEASEDIR}/${OSRELEASE}-${IMAGE})
+ cd ${RELEASEDIR} && \
+ cp -p ${RELEASEDIR}/${OSRELEASE}-${IMAGE} \
+ ${ISO_DIR}/${OSRELEASE}-${IMAGE}
+ cd ${TLD}/ISO-IMAGES/${REVISION} && \
+ ln -s \
+ ../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/${OSRELEASE}-${IMAGE}
+. endif
+. if exists(${RELEASEDIR}/${OSRELEASE}-${IMAGE}.xz)
+ cp -p ${RELEASEDIR}/${OSRELEASE}-${IMAGE}.xz \
+ ${ISO_DIR}/${OSRELEASE}-${IMAGE}.xz
+ cd ${TLD}/ISO-IMAGES/${REVISION} && \
+ ln -s \
+ ../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/${OSRELEASE}-${IMAGE}.xz
+. endif
+. endfor # images loop
+ cd ${RELEASEDIR} && rm -f CHECKSUM.*
+. for CHECKSUM in ${CHECKSUM_FILES}
+. if defined(EMBEDDED) && !empty(EMBEDDED)
+ cd ${RELEASEDIR} && ${CHECKSUM:tl} ${OSRELEASE}* > \
+ CHECKSUM.${CHECKSUM}-${OSRELEASE}-${BOARDNAME}
+ cp -p ${RELEASEDIR}/CHECKSUM.${CHECKSUM}-${OSRELEASE}-${BOARDNAME} \
+ ${ISO_DIR}/CHECKSUM.${CHECKSUM}-${OSRELEASE}-${BOARDNAME}
+ cd ${TLD}/ISO-IMAGES/${REVISION} && \
+ ln -s \
+ ../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/CHECKSUM.${CHECKSUM}-${OSRELEASE}-${BOARDNAME}
+. else # not embedded
+ cd ${RELEASEDIR} && ${CHECKSUM:tl} ${OSRELEASE}* > \
+ CHECKSUM.${CHECKSUM}-${OSRELEASE}
+ cp -p ${RELEASEDIR}/CHECKSUM.${CHECKSUM}-${OSRELEASE} \
+ ${ISO_DIR}/CHECKSUM.${CHECKSUM}-${OSRELEASE}
+ cd ${TLD}/ISO-IMAGES/${REVISION} && \
+ ln -s \
+ ../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/CHECKSUM.${CHECKSUM}-${OSRELEASE}
+. endif
+. endfor # checksum files
+. endif # release
+. if exists(${RELEASEDIR}/ftp)
mkdir -p ${FTP_DIR}
- cp ${.OBJDIR}/ftp/*.txz ${.OBJDIR}/ftp/MANIFEST ${FTP_DIR}
+ cp -p ${RELEASEDIR}/ftp/*.txz ${RELEASEDIR}/ftp/MANIFEST ${FTP_DIR}
cd ${TLD}/${TARGET} && \
ln -s ${TARGET_ARCH}/${REVISION}-${BRANCH} \
${REVISION}-${BRANCH}
-.endif
+. endif
+.endif # no RELEASEDIR
vm-images-stage:
- @true
-# mkdir -p ${VM_DIR}
-#.if defined(SNAPSHOT) && !empty(SNAPSHOT)
-# mkdir -p ${VM_DIR}/${BUILDDATE}
-#. if exists(${VM_DIR}/Latest)
-# unlink ${VM_DIR}/Latest
-# cd ${VM_DIR} && ln -s ${BUILDDATE} Latest
-#. endif
-#. for VMIMAGE in ${VMIMAGES}
-# cd /R/vmimages && cp -p ${VMIMAGE}.xz \
-# ${VM_DIR}/${BUILDDATE}/${OSRELEASE}-${SNAP_SUFFIX}-${VMIMAGE}.xz
-# cd ${VM_DIR}/Latest && ln -s \
-# ../${BUILDDATE}/${OSRELEASE}-${SNAP_SUFFIX}-${VMIMAGE}.xz \
-# ${OSRELEASE}-${VMIMAGE}.xz
-#. endfor
-#. for CHECKSUM in ${CHECKSUM_FILES}
-#. if exists(${VM_DIR}/${BUILDDATE}/CHECKSUM.${CHECKSUM})
-# rm -f ${VM_DIR}/${BUILDDATE}/CHECKSUM.${CHECKSUM}
-#. endif
-# cd ${VM_DIR}/${BUILDDATE} && ${CHECKSUM:tl} ${OSRELEASE}* > \
-# CHECKSUM.${CHECKSUM}-${REVISION}-${BRANCH}-${SNAP_SUFFIX}
-# cd ${VM_DIR}/Latest && ln -s \
-# ${VM_DIR}/${BUILDDATE}/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} \
-# CHECKSUM.${CHECKSUM}
-#. endfor
-#.else # !snapshot
-#. for CHECKSUM in ${CHECKSUM_FILES}
-# cd /R/vmimages && cp -p CHECKSUM.${CHECKSUM}* \
-# ${VM_DIR}/${BUILDDATE}/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX}
-#.endif
+ mkdir -p ${VM_DIR}
+.if defined(SNAPSHOT) && !empty(SNAPSHOT)
+. if exists(${VM_DIR}/Latest)
+ rm -rf ${VM_DIR}/Latest
+. endif
+ mkdir -p ${VM_DIR}/Latest
+ mkdir -p ${VM_DIR}/${BUILDDATE}
+. for VMFORMAT in ${VMFORMATS}
+ cd ${RELEASEDIR}/vmimages && \
+ mv ${OSRELEASE}.${VMFORMAT}.xz \
+ ${OSRELEASE}-${SNAP_SUFFIX}.${VMFORMAT}.xz
+ cp -p ${RELEASEDIR}/vmimages/${OSRELEASE}-${SNAP_SUFFIX}.${VMFORMAT}.xz \
+ ${VM_DIR}/${BUILDDATE}/${OSRELEASE}-${SNAP_SUFFIX}.${VMFORMAT}.xz
+ cd ${VM_DIR}/Latest && \
+ ln -s ../${BUILDDATE}/${OSRELEASE}-${SNAP_SUFFIX}.${VMFORMAT}.xz \
+ ${OSRELEASE}.${VMFORMAT}.xz
+. endfor
+ cd ${RELEASEDIR}/vmimages && rm -f CHECKSUM.*
+. for CHECKSUM in ${CHECKSUM_FILES}
+ cd ${RELEASEDIR}/vmimages && \
+ ${CHECKSUM:tl} ${OSRELEASE}* > CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX}
+ cp -p ${RELEASEDIR}/vmimages/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} \
+ ${VM_DIR}/${BUILDDATE}/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX}
+ cd ${VM_DIR}/Latest && \
+ ln -s ../${BUILDDATE}/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} \
+ CHECKSUM.${CHECKSUM}
+. endfor
+.else # not snapshot
+. if exists(${VM_DIR}/Latest)
+ rm -rf ${VM_DIR}/Latest
+. endif
+ mkdir -p ${VM_DIR}/Latest
+. for VMFORMAT in ${VMFORMATS}
+ cp -p ${RELEASEDIR}/vmimages/${OSRELEASE}.${VMFORMAT}.xz \
+ ${VM_DIR}/Latest/${OSRELEASE}.${VMFORMAT}.xz
+. endfor
+. for CHECKSUM in ${CHECKSUM_FILES}
+ cp -p ${RELEASEDIR}/vmimages/CHECKSUM.${CHECKSUM} \
+ ${VM_DIR}/Latest/CHECKSUM.${CHECKSUM}
+. endfor
+.endif
-ftp-stage: ${STAGE_TARGETS}
+ftp-stage: remove-old-bits ${STAGE_TARGETS}
More information about the svn-src-stable
mailing list