From 69c7d069afdebf92900ba6966504441e260e2e96 Mon Sep 17 00:00:00 2001 From: Glen Barber Date: Sun, 26 Oct 2014 01:41:54 +0000 Subject: [PATCH] Fix a few issues with creating VOLUME_LABEL for the installation ISOs: - TYPE, BRANCH, and REVISION are only defined if OSRELEASE is not defined, so in situations where one might set OSRELEASE for an in-house ISO build, VOLUME_LABEL would be empty. - makefs(8) limits the volume label to 32 characters, which for the powerpc64 case, OSRELEASE expands to FreeBSD-11.0-CURRENT-powerpc-powerpc64. Even with removing the prefixing 'FreeBSD-', the string is 30 characters long, leaving zero room for suffixing the type of ISO media (BO for bootonly, CD for cdrom, and DVD for dvdrom). Resolve these by defining VOLUME_LABEL when defining OSRELEASE if unset. If OSRELEASE is defined by the builder, use the OSRELEASE from that definition as the VOLUME_LABEL. In addition, for cases where both TARGET and TARGET_ARCH are used for the VOLUME_LABEL, use TARGET_ARCH if it differs from TARGET. There are probably a few sharp edges here yet, but these problems are going to affect the powerpc/powerpc64 builds for 10.1-RELEASE, so the immediate concern is fixing the underlying problem at hand quickly, and less so about the elegance of the fix. MFC after: 3 days X-MFC-10.1: yes, asap Sponsored by: The FreeBSD Foundation --- release/Makefile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/release/Makefile b/release/Makefile index 1bba6f1c785e..fe401f3b55f5 100644 --- a/release/Makefile +++ b/release/Makefile @@ -56,13 +56,17 @@ ${_V}!= eval $$(awk '/^${_V}=/{print}' ${.CURDIR}/../sys/conf/newvers.sh); echo .for _V in ${TARGET_ARCH} .if !empty(TARGET:M${_V}) OSRELEASE= ${TYPE}-${REVISION}-${BRANCH}-${TARGET} +VOLUME_LABEL= ${REVISION:C/\./_/g:}_${BRANCH}_${TARGET} .else OSRELEASE= ${TYPE}-${REVISION}-${BRANCH}-${TARGET}-${TARGET_ARCH} +VOLUME_LABEL= ${REVISION:C/\./_/g:}_${BRANCH}_${TARGET_ARCH} .endif .endfor .endif -VOLUME_LABEL= ${OSRELEASE:C/[-\.]/_/g:S/^$${TYPE}_//} +.if !defined(VOLUME_LABEL) || empty(VOLUME_LABEL) +VOLUME_LABEL= FreeBSD_Install +.endif .if !exists(${DOCDIR}) NODOC= true