From owner-svn-src-all@freebsd.org Fri Aug 11 19:21:41 2017 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D8964DB5989; Fri, 11 Aug 2017 19:21:41 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B597A6A0; Fri, 11 Aug 2017 19:21:41 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v7BJLefA044687; Fri, 11 Aug 2017 19:21:40 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v7BJLeLF044683; Fri, 11 Aug 2017 19:21:40 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201708111921.v7BJLeLF044683@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Fri, 11 Aug 2017 19:21:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r322412 - in head: . release/packages share/mk X-SVN-Group: head X-SVN-Commit-Author: gjb X-SVN-Commit-Paths: in head: . release/packages share/mk X-SVN-Commit-Revision: 322412 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Aug 2017 19:21:42 -0000 Author: gjb Date: Fri Aug 11 19:21:40 2017 New Revision: 322412 URL: https://svnweb.freebsd.org/changeset/base/322412 Log: Add SVNVERSION_CMD to bsd.own.mk, adding the capability to include svnversion metadata to the runtime and kernel packages. Instead of traversing src/sys, as is done by newvers.sh for uname(1), a full tree walk is done to prevent userland and/or modifications from not being reflected in a modified tree (M). MFC after: 5 days Sponsored by: The FreeBSD Foundation Modified: head/Makefile.inc1 head/release/packages/kernel.ucl head/release/packages/runtime.ucl head/share/mk/bsd.own.mk Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Fri Aug 11 19:02:11 2017 (r322411) +++ head/Makefile.inc1 Fri Aug 11 19:21:40 2017 (r322412) @@ -346,6 +346,12 @@ SVN= ${_P}/${_S} . endfor .endif SVNFLAGS?= -r HEAD +.if !defined(VCS_REVISION) && empty(VCS_REVISION) +_VCS_REVISION?= $$(eval ${SVNVERSION_CMD} ${SRCDIR}) +. if !empty(_VCS_REVISION) +VCS_REVISION= $$(echo r${_VCS_REVISION}) +. endif +.endif .if !defined(OSRELDATE) .if exists(/usr/include/osreldate.h) @@ -1626,9 +1632,10 @@ create-world-package-${pkgname}: .PHONY @awk -F\" ' \ /^name/ { printf("===> Creating %s-", $$2); next } \ /^version/ { print $$2; next } \ - ' ${WSTAGEDIR}/${pkgname}.ucl ; + ' ${WSTAGEDIR}/${pkgname}.ucl @if [ "${pkgname}" == "runtime" ]; then \ sed -i '' -e "s/%KERNCONF%/${INSTALLKERNEL:tl}/" ${WSTAGEDIR}/${pkgname}.ucl ; \ + sed -i '' -e "s/%VCS_REVISION%/${VCS_REVISION}/" ${WSTAGEDIR}/${pkgname}.ucl ; \ fi ${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh -o ALLOW_BASE_SHLIBS=yes \ create -M ${WSTAGEDIR}/${pkgname}.ucl \ @@ -1658,6 +1665,7 @@ create-kernel-packages-flavor${flavor:C,^""$,${_defaul -e "s/%DESC%/FreeBSD ${INSTALLKERNEL} kernel ${flavor}/" \ -e "s/%CAP_MKDB_ENDIAN%/$${cap_arg}/g" \ -e "s/%PWD_MKDB_ENDIAN%/$${pwd_arg}/g" \ + -e "s/ %VCS_REVISION%/${VCS_REVISION}/" \ ${SRCDIR}/release/packages/kernel.ucl \ > ${KSTAGEDIR}/${DISTDIR}/kernel.${INSTALLKERNEL}${flavor}.ucl ; \ awk -F\" ' \ @@ -1692,6 +1700,7 @@ create-kernel-packages-extra-flavor${flavor:C,^""$,${_ -e "s/%DESC%/FreeBSD ${_kernel} kernel ${flavor}/" \ -e "s/%CAP_MKDB_ENDIAN%/$${cap_arg}/g" \ -e "s/%PWD_MKDB_ENDIAN%/$${pwd_arg}/g" \ + -e "s/ %VCS_REVISION%/${VCS_REVISION}/" \ ${SRCDIR}/release/packages/kernel.ucl \ > ${KSTAGEDIR}/kernel.${_kernel}/kernel.${_kernel}${flavor}.ucl ; \ awk -F\" ' \ Modified: head/release/packages/kernel.ucl ============================================================================== --- head/release/packages/kernel.ucl Fri Aug 11 19:02:11 2017 (r322411) +++ head/release/packages/kernel.ucl Fri Aug 11 19:21:40 2017 (r322412) @@ -5,7 +5,7 @@ name = "FreeBSD-%PKGNAME%" origin = "base" version = "%VERSION%" -comment = "%COMMENT%" +comment = "%COMMENT% %VCS_REVISION%" categories = [ base ] maintainer = "re@FreeBSD.org" www = "https://www.FreeBSD.org" Modified: head/release/packages/runtime.ucl ============================================================================== --- head/release/packages/runtime.ucl Fri Aug 11 19:02:11 2017 (r322411) +++ head/release/packages/runtime.ucl Fri Aug 11 19:21:40 2017 (r322412) @@ -5,7 +5,7 @@ name = "FreeBSD-%PKGNAME%" origin = "base" version = "%VERSION%" -comment = "%COMMENT%" +comment = "%COMMENT% %VCS_REVISION%" categories = [ base ] maintainer = "re@FreeBSD.org" www = "https://www.FreeBSD.org" Modified: head/share/mk/bsd.own.mk ============================================================================== --- head/share/mk/bsd.own.mk Fri Aug 11 19:02:11 2017 (r322411) +++ head/share/mk/bsd.own.mk Fri Aug 11 19:21:40 2017 (r322412) @@ -233,6 +233,17 @@ XZ_CMD?= xz -T ${XZ_THREADS} XZ_CMD?= xz .endif +.if !defined(SVNVERSION_CMD) && empty(SVNVERSION_CMD) +. for _D in ${PATH:S,:, ,g} +. if exists(${_D}/svnversion) +SVNVERSION_CMD?=${_D}/svnversion +. endif +. if exists(${_D}/svnliteversion) +SVNVERSION_CMD?=${_D}/svnliteversion +. endif +. endfor +.endif + PKG_CMD?= pkg # Pointer to the top directory into which tests are installed. Should not be