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