diff --git a/Makefile b/Makefile index 999100d6f189..0b0d53fafd7a 100644 --- a/Makefile +++ b/Makefile @@ -128,7 +128,7 @@ TGTS= all all-man buildenv buildenvvars buildkernel buildworld \ build32 builddtb distribute32 install32 xdev xdev-build xdev-install \ xdev-links native-xtools stageworld stagekernel stage-packages \ create-world-packages create-kernel-packages create-packages \ - packages installconfig real-packages sign-packages + packages installconfig real-packages sign-packages package-pkg TGTS+= ${SUBDIR_TARGETS} diff --git a/Makefile.inc1 b/Makefile.inc1 index a3e1cc1b7433..4ccdc70a4310 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -1378,6 +1378,12 @@ _pkgbootstrap: packages: ${MAKE} -C ${.CURDIR} PKG_VERSION=${PKG_VERSION} real-packages +package-pkg: + rm -rf /tmp/ports.${TARGET} || : + env ${WMAKEENV:Q} SRCDIR=${.CURDIR} PORTSDIR=${PORTSDIR} REVISION=${REVISION} \ + PKG_VERSION=${PKG_VERSION} REPODIR=${REPODIR} WSTAGEDIR=${WSTAGEDIR} \ + sh ${.CURDIR}/release/scripts/make-pkg-package.sh + real-packages: stage-packages create-packages sign-packages stage-packages: diff --git a/release/scripts/make-pkg-package.sh b/release/scripts/make-pkg-package.sh new file mode 100755 index 000000000000..ab9418bab803 --- /dev/null +++ b/release/scripts/make-pkg-package.sh @@ -0,0 +1,25 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# Simulate the build environment. +eval $(make -C ${SRCDIR} TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} buildenvvars) +export WRKDIRPREFIX=/tmp/ports.${TARGET} +export WSTAGEDIR=${WSTAGEDIR} +export REPODIR=${REPODIR} +export PKG_VERSION=${PKG_VERSION} +export WRKDIR=$(make -C ${PORTSDIR}/ports-mgmt/pkg -V WRKDIR) + +make -C ${PORTSDIR}/ports-mgmt/pkg TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ + CONFIGURE_ARGS="--host=$(uname -m)-portbld-freebsd${REVISION}" \ + stage create-manifest + +pkg -o ABI_FILE=${WSTAGEDIR}/bin/sh \ + create -v -m ${WRKDIR}/.metadir/ \ + -r ${WRKDIR}/stage \ + -p ${WRKDIR}/.PLIST.mktmp \ + -o ${REPODIR}/$(pkg -o ABI_FILE=${WSTAGEDIR}/bin/sh config ABI)/${PKG_VERSION} +mkdir -p ${REPODIR}/$(pkg -o ABI_FILE=${WSTAGEDIR}/bin/sh config ABI)/${PKG_VERSION}/Latest/ +cd ${REPODIR}/$(pkg -o ABI_FILE=${WSTAGEDIR}/bin/sh config ABI)/${PKG_VERSION}/Latest/ && \ + ln -s ../pkg-*.txz