Okay, got it to build

Sean Fagan sef at ixsystems.com
Wed Mar 30 00:07:35 UTC 2016


Using

	env MAKEOBJDIRPREFIX=${HOME}/obj make -DNO_ROOT -DNO_CLEAN DESTDIR=${HOME}/packages REPODIR=${HOME}/packages/repo -dl -j1 packages

(Normal buildworld & buildkernel were fine, obviously.)

When doing "make packages", which then did "make real-packags", the sign-packages target was being built before create-packages (I ended up verifying this by putting echos in each of the targets), so I broke it into three separate invocations of make.  I’m sure there’s a better way.

As I had asked before, I couldn’t figure out where ${REPODIR}/${ABI}/${PKG_VERISON} was being created, so I put that into the _pkgbootstrap rule.

Diffs below; I’m not entirely sure how many of them are necessary.  But… this did create 413 package files.  No root needed, either, which is kinda sweet.

Sean.

diff --git a/Makefile.inc1 b/Makefile.inc1
index 890ee64..7430d7e 100644
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -1260,9 +1260,14 @@ _pkgbootstrap:
 .if !exists(${LOCALBASE}/sbin/pkg)
 	@env ASSUME_ALWAYS_YES=YES pkg bootstrap
 .endif
+.if defined(PKG_VERSION)
+	@mkdir -p ${REPODIR}/$$(pkg -o ABI_FILE=${DESTDIR}/bin/sh config ABI)/${PKG_VERSION}
+.endif
 
 packages:
-	${MAKE} -C ${.CURDIR} PKG_VERSION=${PKG_VERSION} real-packages
+	env ${MAKEENV:Q} ${MAKE} -C ${.CURDIR} PKG_VERSION=${PKG_VERSION} \
+		WSTAGEDIR=${DESTDIR:U${WSTAGEDIR}} KSTAGEDIR=${DESTDIR:U${KSTAGEDIR}} \
+		real-packages
 
 package-pkg:
 	rm -rf /tmp/ports.${TARGET} || :
@@ -1270,7 +1275,17 @@ package-pkg:
 		PKG_VERSION=${PKG_VERSION} REPODIR=${REPODIR} WSTAGEDIR=${WSTAGEDIR} \
 		sh ${.CURDIR}/release/scripts/make-pkg-package.sh
 
-real-packages:	stage-packages create-packages sign-packages
+#real-packages:	stage-packages create-packages sign-packages
+real-packages:
+	env ${MAKEENV:Q} ${MAKE} -C ${.CURDIR} PKG_VERSION=${PKG_VERSION} \
+		WSTAGEDIR=${DESTDIR:U${WSTAGEDIR}} KSTAGEDIR=${DESTDIR:U${KSTAGEDIR}} \
+		stage-packages
+	env ${MAKEENV:Q} ${MAKE} -C ${.CURDIR} PKG_VERSION=${PKG_VERSION} \
+		WSTAGEDIR=${DESTDIR:U${WSTAGEDIR}} KSTAGEDIR=${DESTDIR:U${KSTAGEDIR}} \
+		create-packages
+	env ${MAKEENV:Q} ${MAKE} -C ${.CURDIR} PKG_VERSION=${PKG_VERSION} \
+		WSTAGEDIR=${DESTDIR:U${WSTAGEDIR}} KSTAGEDIR=${DESTDIR:U${KSTAGEDIR}} \
+		sign-packages
 
 stage-packages:
 	@mkdir -p ${WSTAGEDIR} ${KSTAGEDIR}
@@ -1279,7 +1294,7 @@ stage-packages:
 		${MAKE} DESTDIR=${DESTDIR:U${KSTAGEDIR}} -DNO_ROOT -B stagekernel
 
 create-packages:	_pkgbootstrap
-	@mkdir -p ${REPODIR}
+	@mkdir -p ${REPODIR}/$$(pkg -o ABI_FILE=${DESTDIR}/bin/sh config ABI)/${PKG_VERSION}
 	${_+_}@cd ${.CURDIR}; \
 		${MAKE} DESTDIR=${DESTDIR:U${WSTAGEDIR}} \
 			PKG_VERSION=${PKG_VERSION} create-world-packages ; \




More information about the freebsd-pkgbase mailing list