Use svn or svnlite, or ${SVN_CMD} if set, for extracting the SVN branch

and revision number announced in SNS notifications about new EC2 AMIs.

While I'm here, incorporate that information into the AMI "description"
fields, since it's more useful than simply echoing the information
already provided via the AMI "name".

Approved by:	gjb
This commit is contained in:
Colin Percival 2018-07-21 22:54:43 +00:00
parent 5aa9b11b61
commit 049775cef3
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=336593

View File

@ -5,6 +5,19 @@
# Makefile for creating an EC2 AMI from a disk image. # Makefile for creating an EC2 AMI from a disk image.
# #
# Figure out where SVN is
.if !defined(SVN_CMD) || empty(SVN_CMD)
. for _P in /usr/bin /usr/local/bin
. for _S in svn svnlite
. if exists(${_P}/${_S})
SVN_CMD= ${_P}/${_S}
. endif
. endfor
. endfor
.endif
EC2_SVNBRANCH!= ${SVN_CMD} info --show-item relative-url ${WORLDDIR} | sed -e 's/\^\///'
EC2_SVNREV!= ${SVN_CMD} info --show-item last-changed-revision ${WORLDDIR}
.if ${BRANCH} == "CURRENT" || ${BRANCH} == "STABLE" || ${BRANCH} == "PRERELEASE" .if ${BRANCH} == "CURRENT" || ${BRANCH} == "STABLE" || ${BRANCH} == "PRERELEASE"
AMINAMESUFFIX!= date +-%Y-%m-%d AMINAMESUFFIX!= date +-%Y-%m-%d
.endif .endif
@ -13,8 +26,6 @@ PUBLISH= --public
.endif .endif
.if defined(EC2SNSTOPIC) && !empty(EC2SNSTOPIC) .if defined(EC2SNSTOPIC) && !empty(EC2SNSTOPIC)
EC2SNSREL= ${REVISION}-${BRANCH} EC2SNSREL= ${REVISION}-${BRANCH}
EC2_SVNBRANCH!= svn info --show-item relative-url ${WORLDDIR} | sed -e 's/\^\///'
EC2_SVNREV!= svn info --show-item last-changed-revision ${WORLDDIR}
EC2SNSVERS= ${EC2_SVNBRANCH}@${EC2_SVNREV} EC2SNSVERS= ${EC2_SVNBRANCH}@${EC2_SVNREV}
.endif .endif
@ -60,7 +71,7 @@ ec2ami: cw-ec2 ${CW_EC2_PORTINSTALL}
/usr/local/bin/bsdec2-image-upload ${PUBLISH} --sriov --ena \ /usr/local/bin/bsdec2-image-upload ${PUBLISH} --sriov --ena \
${.OBJDIR}/ec2.raw \ ${.OBJDIR}/ec2.raw \
"${TYPE} ${REVISION}-${BRANCH}-${TARGET}${AMINAMESUFFIX}" \ "${TYPE} ${REVISION}-${BRANCH}-${TARGET}${AMINAMESUFFIX}" \
"${TYPE} ${REVISION}-${BRANCH}-${TARGET}" \ "${TYPE}/${TARGET} ${EC2_SVNBRANCH}@${EC2_SVNREV}" \
${AWSREGION} ${AWSBUCKET} ${AWSKEYFILE} \ ${AWSREGION} ${AWSBUCKET} ${AWSKEYFILE} \
${EC2SNSTOPIC} ${EC2SNSREL} ${EC2SNSVERS} ${EC2SNSTOPIC} ${EC2SNSREL} ${EC2SNSVERS}
@touch ${.TARGET} @touch ${.TARGET}