Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 22 Jan 2016 18:06:10 +0000 (UTC)
From:      Glen Barber <gjb@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r294580 - projects/release-pkg
Message-ID:  <201601221806.u0MI6AcP070208@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: gjb
Date: Fri Jan 22 18:06:09 2016
New Revision: 294580
URL: https://svnweb.freebsd.org/changeset/base/294580

Log:
  Create a _pkgbootstrap target, and remove the env(1) prefix
  to pkg(8) commands.
  
  Move the resulting packages outside STAGEDIR to minimize
  pollution.
  
  When invoking 'pkg create', include the ABI in the REPODIR
  path so the correct hierarchy is created for cross-builds.
  
  Move the STAGEDIR and REPODIR declarations above the targets
  that use them to keep things cleaner, and move the packages
  target.
  
  Include '-o ABIFILE=DESTDIR/bin/sh' in pkg(8) invocations in
  the create-kernel-packages target.
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  projects/release-pkg/Makefile.inc1

Modified: projects/release-pkg/Makefile.inc1
==============================================================================
--- projects/release-pkg/Makefile.inc1	Fri Jan 22 17:17:27 2016	(r294579)
+++ projects/release-pkg/Makefile.inc1	Fri Jan 22 18:06:09 2016	(r294580)
@@ -1357,7 +1357,19 @@ packagekernel:
 .endif
 .endif
 
-create-world-packages:
+STAGEDIR=	${MAKEOBJDIRPREFIX}${.CURDIR}/stage
+REPODIR=	${MAKEOBJDIRPREFIX}${.CURDIR}/repo
+
+_pkgbootstrap:
+	@env ASSUME_ALWAYS_YES=YES pkg bootstrap
+
+packages:	_pkgbootstrap
+	@mkdir -p ${STAGEDIR} ${REPODIR}
+	${_+_}@cd ${.CURDIR}; \
+		${MAKE} DESTDIR=${DESTDIR:U${STAGEDIR}} -DNO_ROOT -B stageworld ; \
+		${MAKE} DESTDIR=${DESTDIR:U${STAGEDIR}} create-world-packages
+
+create-world-packages:	_pkgbootstrap
 	@rm -f ${DESTDIR}/*.plist 2>/dev/null || :
 	@cd ${DESTDIR} ; \
 		awk -f ${SRCDIR}/release/scripts/mtree-to-plist.awk \
@@ -1384,21 +1396,13 @@ create-world-packages:
 			/^name/ { printf("===> Creating %s-", $$2); next } \
 			/^version/ { print $$2; next } \
 			' ${DESTDIR}/$${pkgname}.ucl ; \
-		env ASSUME_ALWAYS_YES="YES" pkg -o ABI_FILE=${DESTDIR}/bin/sh \
+		pkg -o ABI_FILE=${DESTDIR}/bin/sh \
 			create -M ${DESTDIR}/$${pkgname}.ucl \
 			-p ${DESTDIR}/$${pkgname}.plist \
-			-r ${DESTDIR} -o ${DESTDIR} ; \
+			-r ${DESTDIR} -o ${REPODIR}/$$(pkg config ABI)/latest ; \
 	done
 
-STAGEDIR=	${MAKEOBJDIRPREFIX}${.CURDIR}/stage
-
-packages:
-	@mkdir -p ${MAKEOBJDIRPREFIX}${.CURDIR}/stage
-	${_+_}@cd ${.CURDIR}; \
-		${MAKE} DESTDIR=${DESTDIR:U${STAGEDIR}} -DNO_ROOT -B stageworld ; \
-		${MAKE} DESTDIR=${DESTDIR:U${STAGEDIR}} create-world-packages
-
-create-kernel-packages:
+create-kernel-packages:	_pkgbootstrap
 	@cd ${DESTDIR}/${DISTDIR} ; \
 		awk -f ${SRCDIR}/release/scripts/mtree-to-plist.awk \
 		${DESTDIR}/${DISTDIR}/kernel.meta
@@ -1415,7 +1419,7 @@ create-kernel-packages:
 		${DESTDIR}/${DISTDIR}/${flavor}-manifestdir/+MANIFEST
 	@awk -F\" '/name/ { printf("===> Creating %s-", $$2) } /version/ {print $$2 }' \
 		${DESTDIR}/${DISTDIR}/${flavor}-manifestdir/+MANIFEST
-	@env ASSUME_ALWAYS_YES="YES" pkg create -m ${DESTDIR}/${DISTDIR}/${flavor}-manifestdir \
+	@pkg -o ABI_FILE=${DESTDIR}/bin/sh create -m ${DESTDIR}/${DISTDIR}/${flavor}-manifestdir \
 		-p ${DESTDIR}/${DISTDIR}/${flavor}.plist \
 		-r ${DESTDIR}/${DISTDIR}/kernel \
 		-o ${DESTDIR}
@@ -1438,7 +1442,7 @@ create-kernel-packages:
 		${DESTDIR}/${DISTDIR}/${flavor}-manifestdir/+MANIFEST
 	@awk -F\" '/name/ { printf("===> Creating %s-", $$2) } /version/ {print $$2 }' \
 		${DESTDIR}/${DISTDIR}/${flavor}-manifestdir/+MANIFEST
-	@env ASSUME_ALWAYS_YES="YES" pkg create -m ${DESTDIR}/${DISTDIR}/${flavor}-manifestdir \
+	@pkg -o ABI_FILE=${DESTDIR}/bin/sh create -m ${DESTDIR}/${DISTDIR}/${flavor}-manifestdir \
 		-p ${DESTDIR}/${DISTDIR}/${flavor}.plist \
 		-r ${DESTDIR}/${DISTDIR}/kernel.${_kernel} \
 		-o ${DESTDIR}



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