Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 25 May 2015 22:12:31 +0000 (UTC)
From:      Glen Barber <gjb@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject:   svn commit: r283545 - stable/10/release
Message-ID:  <201505252212.t4PMCVZW098841@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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}
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201505252212.t4PMCVZW098841>